博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day71 菜单的排序 点击被选中
阅读量:5958 次
发布时间:2019-06-19

本文共 2236 字,大约阅读时间需要 7 分钟。

菜单的排序:(给菜单设置权重,权重高的让他显示在上面)

 

from django import templatefrom django.conf import settingsfrom collections import OrderedDictimport reregister = template.Library()@register.inclusion_tag('menu.html')def menu(request):    menu_dict = request.session[settings.MENU_SESSION_KEY]    order_dict=OrderedDict()    ret=sorted(menu_dict,key=lambda x:menu_dict[x]['weight'],reverse=True)    for i in ret:        order_dict[i] = menu_dict[i]    for r in order_dict.values():        r['class']='hide'        for i in r['children']:            if re.match(r'^{}$'.format(i['url']),request.path_info):                i['class'] = 'active'                r['class']= ''    return {
'menu_list': order_dict.values()}

menu.html文件

{
% for menu in menu_list %}
{
{ menu.title }}
{
% for child in menu.children %}
{
{ child.title }}
{% endfor %}
{
% endfor %}
menu.html标签

点击后被选中

 

 自定义标签.rbac.py中 :

from django import templatefrom django.conf import settingsfrom collections import OrderedDictimport reregister = template.Library()@register.inclusion_tag('menu.html')def menu(request):    menu_dict = request.session[settings.MENU_SESSION_KEY]    order_dict=OrderedDict()    ret=sorted(menu_dict,key=lambda x:menu_dict[x]['weight'],reverse=True)    for i in ret:        order_dict[i] = menu_dict[i]    for r in order_dict.values():        for i in r['children']:            if re.match(r'^{}$'.format(i['url']),request.path_info):                i['class'] = 'active'    return {'menu_list': order_dict.values()}

  menu.html文件

{#
#}{#{% for menu in menu_list %}#}{#
#}{# {
{ menu.title }}
#}{#{% endfor %}#}{#
#}
{% for menu in menu_list %}
{
{ menu.title }}
{% for child in menu.children %}
{
{ child.title }}
{% endfor %}
{% endfor %}

  

转载于:https://www.cnblogs.com/zty1304368100/p/10574123.html

你可能感兴趣的文章
《Flink官方文档》示例总览
查看>>
《精通 ASP.NET MVC 5》----1.8 本书所需的软件
查看>>
《正则表达式经典实例(第2版)》——2.6 匹配完整单词
查看>>
ruby动态new对象
查看>>
《JavaScript启示录》——导读
查看>>
如何让你的 Linux 系统干净整洁
查看>>
《JavaScript高效图形编程(修订版)》——6.10 用画布sprites取代DHTMLsprite
查看>>
Linux中grep命令的12个实践例子
查看>>
使用Docker Compose部署基于Sentinel的高可用Redis集群
查看>>
Mybatis 3学习笔记(一)
查看>>
MySQL · 引擎特性 · InnoDB COUNT(*) 优化(?)
查看>>
Guice系列之用户指南(十)
查看>>
树与森林的存储、遍历和树与森林的转换
查看>>
mongodb的读写分离
查看>>
Android自定义属性
查看>>
介绍几个好用的android自定义控件
查看>>
阿里云服务器 Windows连接不成功 提示“你的凭证不工作” 解决方法
查看>>
NVIDIA Jetson TK1学习与开发(八):图文详解OpenGL在Jetson TK1上的安装和使用
查看>>
【性能优化】直方图
查看>>
Visual C#之核心语言
查看>>